import time
DELAY = 1

from edge_util import *
from selenium.webdriver.common.by import By

util = EdgeUtil()
# 使用selenium打开一个网页
url = 'https://www.baidu.com/'
baidu = util.start_page(url)

# 1. 通过id来查找元素
kw_input = baidu.find_element(By.ID, 'kw')

# 查找到元素以后就可以对元素进行操作
# ①往元素里面填入内容
kw_input.send_keys('QQ')
time.sleep(DELAY)

# ②获取元素属性
print("获取属性，调用get_property()方法:", kw_input.get_property("type"))
print("get_attribute()方法也可以获取属性值:", kw_input.get_attribute("type"))

# ③清除元素里面的内容
kw_input.clear()
# 等待用户输入，从而不会自动关闭浏览器
time.sleep(DELAY)

# 2.通过name来查找元素
wd_input = baidu.find_element(By.NAME, 'wd')
wd_input.send_keys('微信')
time.sleep(DELAY)

wd_input.clear()
# 3.元素的class来查找
cls_input = baidu.find_element(By.CLASS_NAME, 's_ipt')
cls_input.send_keys('腾讯会议')
time.sleep(DELAY)

# 4.通过css选择器
css_input = baidu.find_element(By.CSS_SELECTOR, '#kw')
css_input.send_keys('王者荣耀')

# 5.通过xpath
xpath_input = baidu.find_element(By.XPATH, "//input[@name='wd']")
xpath_input.send_keys('hello')

# 6.通过标签名字获取元素
tag_inputs = baidu.find_elements(By.TAG_NAME, 'input')
for tag in tag_inputs:
    print(tag)

# 7.找元素有两个方法：find_element这个方法只会找到符合条件的第一个元素
# find_elements方法会找到符合条件的所有元素
input()